package pec4.tds.conexion;


import pec4.tds.coordinador.*;
import i18n.TDSLanguageUtils;
import java.beans.PropertyVetoException;
import java.rmi.Naming;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JInternalFrame;

/**
 * Pantalla cliente principal, utilizada como INICIO del resto de pantallas.
 * Desde esta se accede al resto de pantallas y funciones.
 */

public class pantCliente extends javax.swing.JFrame {
   // Variables declaration - do not modify
   public javax.swing.JDesktopPane desktopPane;
   // End of variables declaration
   ////////// variables /////////////
   pantLogin plogin = new pantLogin(this, true);
   //public static pantSolicitudInscripcion pantsolinscripcion =null;
   //public static JInternalFrame pantMostrada =null;
   public static final String SERVIDOR_REMOT = "localhost";
   private RemotoInterface remoto = null;
   private Log log = Log.getInstance();
 //  public static Usuario usuident = null;

   /////////////////////////////////
   /** Creates new form pantMDICliente */
    public pantCliente() {
        log.escribe(TDSLanguageUtils.getMessage("cliente.log.pant1"));
        initComponents();
        this.setTitle(TDSLanguageUtils.getMessage("cliente.titulo_desconectado"));
        this.setVisible(true);
     
        this.repaint();
    } 

    @SuppressWarnings("unchecked")  
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents(){
        desktopPane = new javax.swing.JDesktopPane();
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(desktopPane, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(desktopPane, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)
        );
        pack();
    }


    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        TDSLanguageUtils.setDefaultLanguage("i18n/messages"); //iniciamos el idioma por defecto
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new pantCliente();                
            }
        });
    }



/**
 * Función que valida si ya existe una misma ventana abierta para no permitir tener
 * dos ventanas iguales abiertas, se valida mediante el título de la ventana
 *
 * @param pantalla
 */

    public void muestraPantallaInterna(JInternalFrame pantalla){
        Boolean flag = false;
        //Compara todos los InternalFrame que encuentre en el cliente.
        for(JInternalFrame i : desktopPane.getAllFrames()){
            if(i.getTitle().equals(pantalla.getTitle())){
                flag=true;
                Utils.muestraMensajeInformacion(TDSLanguageUtils.getMessage("cliente.pants.iguales"), TDSLanguageUtils.getMessage("msg.info"));
            }
        }
        if (!flag){
            desktopPane.add(pantalla);
            try {
                pantalla.setMaximum(true);
                log.escribe(TDSLanguageUtils.getMessage("cliente.pant.abriendo")+ " " + pantalla.getTitle());
            } catch (PropertyVetoException ex) {
                Logger.getLogger(pantCliente.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

    }


}

